Depth buffers store a plurality of values that indicate a depth for surfaces of objects in a three-dimensional scene. Depth buffers are implemented for many types of computer graphics rendering applications. A depth value may be used to determine whether an object is occluded by other objects relative to a particular viewpoint. Typically, a depth buffer includes a plurality of values associated with a corresponding plurality of pixels in a digital image. Each value in the depth buffer may represent the depth of the closest object to a viewpoint corresponding with a particular pixel.
Some algorithms, such as screen space ambient occlusion algorithms, sample a plurality of different values within the depth buffer to calculate an ambient obscurance (AO) value for each pixel. The net performance of these techniques suffers because of a large number of scattered reads of the depth buffer, which yields low cache efficiency. Thus, there is a need for addressing this issue and/or other issues associated with the prior art.